home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS064.dsk / INVENTORY HOME II.bas < prev    next >
BASIC Source File  |  2012-02-16  |  15KB  |  330 lines

  1. 1  GOTO 9: REM ..10/16/80.18;48<CTRL-J>
  2. 2  LET NA$ = "HOME.INVENTORY": RETURN : REM <CTRL-J>
  3. 3  GOSUB 5: PRINT : PRINT : PRINT " CALL770:LISTXXXXX-YYYYY:GOTO 6": VTAB  PEEK(37) -1: END 
  4. 4  GOSUB 5: CALL 1016: END 
  5. 5  LET D$ =  CHR$(4): GOSUB 2: GOSUB 9210: CALL 770: PRINT NA$"     " LEFT$(TI$,5) +"/80 " + MID$ (TI$,7,5): CALL 960: RETURN 
  6. 6  CALL 960: CALL 1016: END 
  7. 7  PRINT "TEXT:": INPUT "";ZZ$: IF ZZ$ = ""  THEN  CALL 1016: END 
  8. 8  CALL 770: PRINT ZZ$: CALL 960: GOTO 7
  9. 9  GOTO 9000: REM INIT
  10. 10  GOSUB 2: GOTO 23010: REM SAVE
  11. 200  REM <CTRL-M><CTRL-M><CTRL-M>********.SEARCH.****************<CTRL-J>
  12. 210  REM IN:R$=FILE$..A$=SEARCH$..T$=LOCAL
  13. 220  FOR L = 1 TO  LEN(R$)
  14. 230 :: LET T$ =  MID$ (R$,L,( LEN(A$)))
  15. 240 :: IF T$ = A$  THEN S1 = 1: REM OUT:LOOP.CNTR.SET.TO.SEARCH.RECORD..S1=FOUND.FLAG
  16. 250  NEXT : RETURN 
  17. 300  REM <CTRL-M><CTRL-M><CTRL-M>********.ORDERING.**************<CTRL-J>
  18. 310  REM  IN:A$(R1,1)=RECORD.DATE
  19. 320  FOR I = 1 TO R1
  20. 330 :: IF A$(I,1) = ""  THEN 360: REM LOOK.FOR.END.OF.DATA
  21. 340 :: LET B(I,0) =  VAL(A$(I,1)):B(I,1) = I: REM FORM.ARRAYS.OF.DATES.&.REC.NOS
  22. 350  NEXT 
  23. 360  LET N = I -1:M = N
  24. 370  LET M =  INT(M/2): IF M = 0  THEN 470
  25. 380  LET J = 1:K = N -M
  26. 390  LET I = J
  27. 400  LET L = I +M: IF B(I,0) <B(L,0)  THEN 450
  28. 410  LET T = B(I,0):B(I,0) = B(L,0):B(L,0) = T
  29. 420  LET T1 = B(I,1):B(I,1) = B(L,1):B(L,1) = T1
  30. 430  LET I = I -M: IF I <1  THEN 450
  31. 440  GOTO 400
  32. 450  LET J = J +1: IF J >K  THEN 370
  33. 460  GOTO 390
  34. 470  RETURN : REM OUT:B$(R1,1)=ARRAY.OF.DATE.ORDER
  35. 1000  REM <CTRL-M><CTRL-M><CTRL-M>******.MENU.********************<CTRL-J>
  36. 1010  REM IN:ND=NEW.DATA.FLAG
  37. 1020  TEXT : HOME 
  38. 1030  VTAB 5
  39. 1040  PRINT : PRINT "   READ EXISTING FILE 1"
  40. 1050  PRINT : PRINT "       INPUT NEW DATA 2"
  41. 1060  PRINT : PRINT "          REVIEW FILE 3"
  42. 1070  PRINT : PRINT "            EDIT FILE 4"
  43. 1080  IF ND  THEN  FLASH 
  44. 1090  PRINT : PRINT "            SAVE FILE 5"
  45. 1100  NORMAL 
  46. 1110  PRINT : PRINT "  PRINT LIST W TOTALS 6"
  47. 1120  PRINT : PRINT "SET UP FILES 1ST TIME 7"
  48. 1130  PRINT : PRINT "                 QUIT 8"
  49. 1135  PRINT : PRINT "      DISPLAY COLUMNS 9"
  50. 1140  LET Q = 1: PRINT : PRINT  SPC( 15)"WHICH? ";: PRINT Q;: HTAB (23): GET Q$: PRINT Q$: IF Q$ < > CHR$(13)  THEN Q =  VAL(Q$)
  51. 1150  ON Q GOTO 1410,2010,3020,4010,1610,6010,1810,1990,32020
  52. 1160  GOTO 1000
  53. 1400  REM <CTRL-M><CTRL-M><CTRL-M>********.READ.EXISTING.FILE.****<CTRL-J>
  54. 1410  GOSUB 9710: GOTO 1000
  55. 1600  REM <CTRL-M><CTRL-M><CTRL-M>********.SAVE.FILE.*************<CTRL-J>
  56. 1610  GOSUB 9400: GOTO 1000
  57. 1800  REM <CTRL-M><CTRL-M><CTRL-M>********.SET.UP.FILES.1ST.TIME.*<CTRL-J>
  58. 1810  PRINT : PRINT : PRINT : PRINT "FILE SET UP WILL DESTROY ANY EXISTING": PRINT "FILE ON THIS DISK.  TYPE 'YES' TO": INPUT "CONTINUE. ";A$: IF A$ < >"YES"  THEN 1000
  59. 1820  GOSUB 9400: GOTO 1000
  60. 1980  REM <CTRL-M><CTRL-M><CTRL-M>********.QUIT.******************<CTRL-J>
  61. 1990  TEXT : HOME : VTAB 7: PRINT " THIS IS THE": PRINT : PRINT  SPC( 10)NA$: PRINT : PRINT  SPC( 20)"PROGRAM.": PRINT : PRINT : PRINT : PRINT "       BYE FOR NOW, BOB!": PRINT : PRINT : CALL 1016: END 
  62. 2000  REM <CTRL-M><CTRL-M><CTRL-M>******.INPUT.DATA.**************<CTRL-J>
  63. 2010  REM IN:R1=ARRAY.ROWS..A$(R1,C1)=ARRAY
  64. 2020  FOR K = 1 TO R1
  65. 2030 :: IF A$(K,1) = ""  THEN 2050
  66. 2040  NEXT K: REM K=NEXT.OPEN
  67. 2050  GOSUB 8010: REM INPUT
  68. 2060  LET ND = 1: REM NEW.DATA.FLAG
  69. 2070  GOTO 1010: REM MENU
  70. 2080  REM OUT:ND=NEW.DATA.FLAG..A$(J,1TOC1)=DATA
  71. 3000  REM <CTRL-M><CTRL-M><CTRL-M>******.REVIEW.FILE.*************<CTRL-J>
  72. 3010 <CTRL-F> REM IN:A$(R1,C1)=DATA.ARRAY
  73. 3020  HOME : VTAB 7: HTAB 10: PRINT "REVIEW FILE :": PRINT : PRINT 
  74. 3030  HTAB 11: PRINT "SEARCH FIELDS 1"
  75. 3040  HTAB 6: PRINT "REVIEW ALL ENTRIES 2": PRINT 
  76. 3050  LET Q = 1: PRINT : PRINT  SPC( 17)"WHICH? ";: PRINT Q;: HTAB (25): GET Q$: PRINT Q$: IF Q$ < > CHR$(13)  THEN Q =  VAL(Q$)
  77. 3060  IF Q$ = "^"  THEN 3420: REM QUIT
  78. 3070  IF Q = 2  THEN 3260: REM REVIEW.ALL
  79. 3080  REM <CTRL-M><CTRL-M>**.SEARCH.FIELDS.**<CTRL-J>
  80. 3090  HOME : VTAB 3: HTAB 10: PRINT "FIELDS:": PRINT 
  81. 3100  LET V = 5:H = 22: REM SCREEN.POSITION
  82. 3110  FOR I = 1 TO C1
  83. 3120 :: GOSUB 3330: REM PRINT.FIELDS.SUB
  84. 3130  NEXT 
  85. 3140  LET Q = 2: PRINT : PRINT  SPC( 15)"WHICH? ";: PRINT Q;: HTAB (23): GET Q$: PRINT Q$: IF Q$ < > CHR$(13)  THEN Q =  VAL(Q$)
  86. 3150  PRINT : PRINT : INPUT "INPUT SEARCH WORD:";A$: IF A$ = "^"  THEN 3420: REM QUIT
  87. 3160  FOR J = 1 TO R1
  88. 3170 :: LET R$ = A$(J,Q): IF R$ = ""  THEN 3210
  89. 3180 :: GOSUB 210: REM SEARCH
  90. 3190 :: IF S1  THEN S1 = 0: GOSUB 3340: GOSUB 3230: REM DISPLAY.&.CHOICE
  91. 3200  NEXT 
  92. 3210  GOTO 3420: REM QUIT
  93. 3220  REM <CTRL-M><CTRL-M>**.CONTINUE.SUB.**<CTRL-J>
  94. 3230  PRINT : PRINT "KEY TO CONTINUE, ^ FOR MENU. ";: GET Q$: IF Q$ = "^"  THEN  POP : GOTO 3420: REM QUIT
  95. 3240  RETURN 
  96. 3250  REM <CTRL-M><CTRL-M>**.REVIEW.ALL.**<CTRL-J>
  97. 3260  FOR J = 1 TO R1
  98. 3270 :: IF A$(J,1) = ""  THEN 1000
  99. 3280 :: GOSUB 3350: REM DISPLAY.FOUND.RECORD
  100. 3290 :: GOSUB 3230: REM CONTINUE
  101. 3300  NEXT 
  102. 3310  GOTO 3420: REM QUIT
  103. 3320  REM <CTRL-M><CTRL-M>**.PRINT.FIELDS.SUB**<CTRL-J>
  104. 3330  VTAB (V +I): HTAB (H - LEN(A$(0,I))): PRINT A$(0,I);" ";I: RETURN 
  105. 3340  REM <CTRL-M><CTRL-M>**.DISPLAY.FOUND.RECORD.SUB.**<CTRL-J>
  106. 3350  HOME :V = 5:H = 18: REM SCREEN.POSITION
  107. 3360  PRINT "RECORD #"J
  108. 3370  FOR I = 1 TO C1
  109. 3380 :: GOSUB 8710: REM  ?.DATA.SUB
  110. 3390  NEXT I
  111. 3400  RETURN 
  112. 3410  REM <CTRL-M><CTRL-M>**.QUIT.**<CTRL-J>
  113. 3420  GOTO 1000: REM MENU
  114. 3430  REM OUT:NONE<CTRL-J><CTRL-J>
  115. 4000  REM <CTRL-M><CTRL-M><CTRL-M>******.EDIT.FILE.***************<CTRL-J>
  116. 4010  REM IN:NONE
  117. 4020  TEXT : HOME : VTAB 5: INPUT "   EDIT WHICH RECORD? ";K$
  118. 4030  IF K$ = ""  THEN 1010
  119. 4040  LET J =  VAL(K$): GOSUB 8510: REM ROW.INPUT.SUB
  120. 4050  PRINT "   STOP? (S) ";: GET Q$: PRINT Q$
  121. 4060  IF Q$ < >"S"  THEN 4020
  122. 4070  LET ND = 1: GOTO 1010: REM  NEW.DATA.FLAG.THEN.MENU
  123. 4080  REM OUT:ND=NEW.DATA.FLAG..A$(J,1TOC1)=DATA
  124. 5000  REM <CTRL-M><CTRL-M><CTRL-M>********.TIME.TEST.*************<CTRL-J>
  125. 5010  GOSUB 9200: GOSUB 9250: GOSUB 9260
  126. 5020  PRINT HD":"MD":"SD
  127. 5030  GOSUB 9200: GOSUB 9260
  128. 5040  FOR I = 1 TO 1000
  129. 5050 A = 5 *I/4 +2 -3
  130. 5060  NEXT I
  131. 5070  GOSUB 9200: GOSUB 9270
  132. 5080  PRINT HD":"MD":"SD
  133. 5090  PRINT "DONE": CALL 1016: END 
  134. 6000  REM <CTRL-M><CTRL-M><CTRL-M>******.PRINT OUT.***************<CTRL-J>
  135. 6010  REM IN:C1=ARRAY.COLUMNS..R1=ARRAY.ROWS..A$(R1,C1)=ARRAY
  136. 6018  HOME : GOSUB 9210: VTAB 5: PRINT "PLEASE INPUT THE YEAR 19(YY):";"YY";: HTAB 30: INPUT "";YR
  137. 6020  GOSUB 9910: REM PRINTER.ON
  138. 6030  LET D(1) = 3:D(2) = 5:D(3) = 20:D(4) = 35:D(5) = 50:D(6) = 65:D(7) = 68:D(8) = 71:D(9) = 76: REM COLUMN.POSITIONS
  139. 6035  LET C$(1) = "F":C$(2) = "T":C$(3) = "M":C$(4) = "A":C$(5) = "P":C$(6) = "G": REM TYPES
  140. 6040  REM <CTRL-M><CTRL-M><CTRL-M>***.PRINT.HEADINGS.***<CTRL-J>
  141. 6045  GOSUB 6390: POKE 36,27: PRINT NA$;" "; LEFT$(TI$,5);"/";YR: GOSUB 6390: PRINT 
  142. 6050  PRINT "#";: POKE 36,D(1): PRINT "T";
  143. 6060  FOR K = 2 TO 5
  144. 6070 :: POKE 36,D(K): PRINT A$(0,K);
  145. 6080  NEXT : POKE 36,D(6): PRINT "OR";: POKE 36,D(7): PRINT "AC";: POKE 36,D(8): PRINT "COST";: POKE 36,D(9): PRINT "AGE": PRINT 
  146. 6090  REM <CTRL-M><CTRL-M><CTRL-M>***.PRINT.TABLE.***<CTRL-J>
  147. 6095  FOR C = 1 TO 6: REM TYPE.LOOP
  148. 6096  LET T1 = 0: REM ZERO.TYPE.TOT
  149. 6100  FOR J = 1 TO R1
  150. 6110 :: IF A$(J,1) = ""  THEN 6185: REM TYPE.TOTAL
  151. 6115 :: IF A$(J,1) < >C$(C)  THEN 6180: REM IS.IT.THIS.TYPE?
  152. 6120 :: PRINT J;: FOR I = 1 TO 7: POKE 36,D(I): PRINT A$(J,I);: NEXT I: REM PRINT.TEXT.COLUMNS<CTRL-J><CTRL-J>
  153. 6130 :: LET I = 8
  154. 6140 :::: LET D = D(I) +5:W =  VAL(A$(J,I)): IF   NOT W  THEN 6175: REM JUMP.IF.0
  155. 6150 :::: GOSUB 20050: REM PRINT.IT
  156. 6175 :: POKE 36,D(9): PRINT YR - VAL(A$(J,6))
  157. 6177  LET T1 = T1 + VAL(A$(J,8)): REM TYPE.TOTAL
  158. 6180  NEXT J
  159. 6185  GOSUB 6410: NEXT C: REM TYPE.TOT.&.LOOP
  160. 6187  GOSUB 6230: REM GRAND.TOT
  161. 6190  GOSUB 9960: REM PRINTER.OFF
  162. 6200  GOTO 1000: REM MENU
  163. 6210  REM OUT:NO.DATA.OUT
  164. 6220  REM <CTRL-M><CTRL-M><CTRL-M>**.TOTAL.**<CTRL-J>
  165. 6230  GOSUB 6380: POKE 36,D(5): PRINT "GRAND TOTAL";
  166. 6250  LET T = 0: REM ZERO.TOTAL.ARRAY
  167. 6280 :: FOR I = 1 TO R1
  168. 6300 :::: LET T = T + VAL(A$(I,8)): REM TOTAL
  169. 6310 :: NEXT I
  170. 6320 :: LET D = D(8) +5:W = T: GOSUB 20050: REM FORMAT.&.PRINT
  171. 6340  PRINT : GOSUB 6380: REM SEPARATOR
  172. 6350  RETURN : REM MENU
  173. 6360  REM <CTRL-M><CTRL-M><CTRL-M>**.SEPARATOR.**<CTRL-J>
  174. 6370  FOR L = 1 TO 79: PRINT "-";: NEXT : PRINT : RETURN 
  175. 6380  FOR L = 1 TO 79: PRINT "=";: NEXT : PRINT : RETURN 
  176. 6390  FOR L = 1 TO 19: PRINT " ";: NEXT : FOR L = 1 TO 40: PRINT "*";: NEXT : PRINT : RETURN 
  177. 6400  REM <CTRL-M><CTRL-M><CTRL-M>**.TYPE.TOTAL.**<CTRL-J>
  178. 6410  GOSUB 6370
  179. 6420  POKE 36,D(5): PRINT "TOTAL  ";C$(C);: POKE 36,D(8) +5:W = T1: GOSUB 20050: PRINT : GOSUB 6370: RETURN : REM  FORM&?
  180. 8000  REM <CTRL-M><CTRL-M><CTRL-M>******.INPUT.SUB.***************<CTRL-J>
  181. 8010  REM IN:C1=ARRAY.COLUMNS..R1=ARRAY.ROWS..K=1ST.OPEN.ROW
  182. 8020  FOR J = K TO R1
  183. 8030 :: GOSUB 8510
  184. 8040  NEXT J
  185. 8050  RETURN 
  186. 8060  REM OUT:A$(R,C)=INPUT.DATA
  187. 8500  REM <CTRL-M><CTRL-M><CTRL-M>**.ROW.INPUT.SUB.**<CTRL-J>
  188. 8510  TEXT : HOME 
  189. 8520  LET V = 5:H = 18: REM SCREEN.POSITION
  190. 8530  PRINT "S=STOP ^=BACK UP CR=KEEP F=FURN T=TOOL": PRINT "M=MACHINE A=APPLIANCE P=PHOTO G=GENERAL"
  191. 8540  VTAB 4: POKE 34,4: REM SET.WINDOW.TO.SAVE.PROMPTS
  192. 8550  PRINT "RECORD #"J
  193. 8555  FOR I = 2 TO 5: GOSUB 8810: NEXT 
  194. 8556  IF A$(J,6) = ""  THEN A$(J,6) = "YY"
  195. 8557  IF A$(J,7) = ""  THEN A$(J,7) = "YY"
  196. 8560  FOR I = 1 TO C1
  197. 8570 :: GOSUB 8710: REM ?.DATA.SUB
  198. 8580  NEXT I
  199. 8585  LET T = 0
  200. 8590  FOR I = 1 TO C1
  201. 8600 :: GOSUB 8710: REM ?.DATA.SUB
  202. 8610 :: VTAB (V +I): HTAB (H +1)
  203. 8620 :: INPUT "";I$
  204. 8630 :::: IF I = 1  THEN  IF I$ = "^"  THEN  POP : GOTO 1010
  205. 8640 :::: IF I$ = "^"  THEN  GOSUB 8710:I = I -1: GOTO 8600
  206. 8650 :::: IF I$ = "S"  THEN  POP : GOTO 8050
  207. 8655 :::: IF I$ = ""  AND A$(J,I) = "--------------"  THEN A$(J,I) = "": GOSUB 8710: GOTO 8675
  208. 8660 :::: IF I$ = ""  THEN  GOSUB 8710: GOTO 8675
  209. 8670 :: LET A$(J,I) = I$
  210. 8675 :::: IF I >3  THEN T = T + VAL(A$(J,I))
  211. 8680  NEXT I
  212. 8690  RETURN 
  213. 8700  REM <CTRL-M><CTRL-M>**.?.DATA.SUB.**<CTRL-J>
  214. 8710  VTAB (V +I): HTAB (H - LEN(A$(0,I))): PRINT A$(0,I);: HTAB (H): PRINT ":";: PRINT A$(J,I): RETURN 
  215. 8800  REM <CTRL-M><CTRL-M><CTRL-M>**.FORMAT.SUB.**<CTRL-J>
  216. 8810  IF A$(J,I) = ""  THEN A$(J,I) = "--------------"
  217. 8820  RETURN 
  218. 9000  REM <CTRL-M><CTRL-M><CTRL-M>********.INITIALIZE.************<CTRL-J>
  219. 9010  POKE  -16298,0: TEXT : HOME :D$ =  CHR$(4): REM HRES.OFF.CLR.SCRN
  220. 9020  LET R1 = 500:C1 = 8: REM ARRAY.SIZE
  221. 9030  GOSUB 2:FI$ = "HM.INV"
  222. 9040  DIM A$(R1,C1),B(R1,1),T(C1)
  223. 9050  FOR I = 1 TO C1: READ A$(0,I): NEXT : REM FIELD.NAMES
  224. 9060  GOSUB 20000: GOSUB 24000: REM FCTNS&TITLE
  225. 9070  GOTO 1000: REM MENU
  226. 9080  REM OUT:D$=DOS.CMD..A$=ARRAY..R1=ARRAY.ROWS..C1=ARRAY.COLUMNS..NA$=PGRM.NAME..FI$=FILE.NAME..A$(0,1TO0,C1)=COLUMN.NAMES
  227. 9200  REM <CTRL-M><CTRL-M><CTRL-M>********.TIME.******************<CTRL-J>
  228. 9210  PRINT D$;"IN#3": PRINT D$"PR#3"
  229. 9220  INPUT " ";TI$
  230. 9230  PRINT D$"IN#0": PRINT D$"PR#0": RETURN 
  231. 9250  REM <CTRL-M><CTRL-M><CTRL-M>********.CALC.TIME.*************<CTRL-J>
  232. 9260  LET H1 =  VAL( MID$ (TI$,8,2)):M1 =  VAL( MID$ (TI$,11,2)):S1 =  VAL( MID$ (TI$,14,6)): RETURN 
  233. 9270  LET HD =  VAL( MID$ (TI$,8,2)) -H1:MD =  VAL( MID$ (TI$,11,2)) -M1:SD =  VAL( MID$ (TI$,14,6)) -S1
  234. 9275  PRINT HD,MD,SD
  235. 9280  IF SD <0  THEN SD = SD +60:MD = MD -1
  236. 9290  IF MD <0  THEN MD = MD +60:HD = HD -1
  237. 9295  RETURN 
  238. 9300  REM <CTRL-M><CTRL-M><CTRL-M>********.SCREEN.PAUSE.**********<CTRL-J><CTRL-J>
  239. 9310  VTAB 24: HTAB 16: PRINT "ANY KEY";: GET A$: RETURN 
  240. 9400  REM <CTRL-M><CTRL-M><CTRL-M>********.FILE.WRITE.************<CTRL-J>
  241. 9410  REM IN:R1=ARRAY.ROWS..ND=NEW.DATA.FLAG..A$(R1,C1)=DATA.ARRAY
  242. 9420  LET DD = 2:ND = 0
  243. 9430  PRINT D$"OPEN   "FI$",D"DD
  244. 9440  PRINT D$"UNLOCK "FI$
  245. 9450  PRINT D$"DELETE "FI$
  246. 9460  PRINT D$"OPEN   "FI$
  247. 9470  PRINT D$"WRITE  "FI$
  248. 9480  FOR R = 1 TO R1
  249. 9490 :: IF A$(R,1) = ""  THEN EF = R -1: GOTO 9510: REM FIND.EOF
  250. 9500  NEXT 
  251. 9510  PRINT EF
  252. 9520  FOR R = 1 TO EF
  253. 9530 :: FOR C = 1 TO C1
  254. 9540 :::: PRINT A$(R,C)
  255. 9550 :: NEXT C
  256. 9560  NEXT R
  257. 9570  PRINT D$"CLOSE  "FI$
  258. 9580  PRINT D$"LOCK   "FI$
  259. 9590  IF DD = 2  THEN DD = 1: GOTO 9430
  260. 9600  RETURN 
  261. 9700  REM <CTRL-M><CTRL-M><CTRL-M>********.FILE.READ.*************<CTRL-J>
  262. 9710  PRINT D$"OPEN  "FI$
  263. 9720  PRINT D$"READ  "FI$
  264. 9730  INPUT EF: REM READ.EOF
  265. 9740  FOR R = 1 TO EF
  266. 9750 :: FOR C = 1 TO C1
  267. 9760 :::: INPUT A$(R,C)
  268. 9770 :: NEXT C
  269. 9780  NEXT R
  270. 9790  PRINT D$"CLOSE "FI$: RETURN 
  271. 9900  REM <CTRL-M><CTRL-M><CTRL-M>***.PRINT.ROUTINES.***<CTRL-J>
  272. 9910  CALL 770: RETURN : REM PRINTER.ON
  273. 9920  CALL 903: RETURN : REM 12/IN,8/IN
  274. 9930  CALL 907: RETURN : REM 16/IN,8/IN
  275. 9940  PRINT  CHR$(27) CHR$(120): RETURN : REM 8/IN
  276. 9950  CALL 39700: RETURN : REM DURA.ON
  277. 9960  CALL 960: RETURN : REM BOTH.OFF
  278. 20000  REM <CTRL-M><CTRL-M><CTRL-M>********.FORMAT.FUNCTIONS.******<CTRL-J>
  279. 20010  DEF  FN T(X) =  -(X <0) -2 -( ABS( INT(X)) >9) -( ABS( INT(X)) >99) -( ABS( INT(X)) >999) -( ABS( INT(X)) >9999) -( ABS( INT(X)) >99999) -( ABS( INT(X)) >999999)
  280. 20020  DEF  FN F(X) =  SGN(X) * INT( ABS(X) +.5)
  281. 20030  RETURN 
  282. 20040  REM <CTRL-M><CTRL-M><CTRL-M>********.PRINT.SUB.*************<CTRL-J>
  283. 20050  LET W =  FN F(W)
  284. 20060  POKE 36,D + FN T(W)
  285. 20070  IF W  AND   NOT  INT(W)  THEN  PRINT "0";
  286. 20080  PRINT W;
  287. 20110  RETURN : REM <CTRL-J><CTRL-J>
  288. 23000  REM <CTRL-M><CTRL-M><CTRL-M>********.SAVE.******************<CTRL-J>
  289. 23010  LET D$ =  CHR$(4): PRINT D$"MON I,O,C"
  290. 23020  PRINT "THE PROGRAM IS: "NA$: PRINT 
  291. 23030  PRINT "DRIVE ";: GET A$: PRINT A$: IF A$ =  CHR$(13)  THEN 23130
  292. 23040  LET A =  VAL(A$): IF A = 2  THEN 23080
  293. 23050  GOSUB 9200: REM TIME
  294. 23060  FOR I = 1 TO 5: POKE I +2058, ASC( MID$ (TI$,I,1)): NEXT 
  295. 23070  FOR I = 7 TO 11: POKE I +2061, ASC( MID$ (TI$,I,1)): NEXT : LIST 1
  296. 23080  ONERR  GOTO 23140
  297. 23090  PRINT D$"DELETE "NA$",D"A
  298. 23100  PRINT D$"SAVE   "NA$",D"A: GOTO 23120
  299. 23110  PRINT D$"LOCK   "NA$",D"A
  300. 23120  IF A = 1  THEN 23030
  301. 23130  PRINT D$"NOMON I,O,C": POKE 43624,1: CALL 1016: END 
  302. 23140  IF  PEEK(222) = 6  THEN  POKE 216,0: PRINT " NOT THERE": GOTO 23100
  303. 23150  PRINT : POKE 216,0: GOTO 23090
  304. 24000  REM <CTRL-M><CTRL-M><CTRL-M>********.TITLE.*****************<CTRL-J><CTRL-J>
  305. 24010  PRINT : PRINT : PRINT : GOSUB 24050: GOSUB 24070:CE$ = NA$: GOSUB 24060: GOSUB 24070
  306. 24020  LET CE$ = "BY BOB HUELSDONK": GOSUB 24060: GOSUB 24070: GOSUB 24070
  307. 24030  LET CE$ = "": FOR I = 2059 TO 2066:CE$ = CE$ + CHR$( PEEK(I)): NEXT : GOSUB 24060: GOSUB 24070: GOSUB 24050
  308. 24040  GOSUB 9310: RETURN : REM SCRN.PAUSE             
  309. 24050  FOR I = 1 TO 39: PRINT "*";: NEXT : PRINT : RETURN : REM *LINE
  310. 24060  PRINT "*";: HTAB 20 - LEN(CE$)/2: PRINT CE$;: HTAB 39: PRINT "*": RETURN : REM CENTER
  311. 24070  PRINT "*";: HTAB 39: PRINT "*": RETURN 
  312. 30000  REM <CTRL-M><CTRL-M><CTRL-M>********.DATA.******************<CTRL-J><CTRL-J>
  313. 30010  DATA    "TYPE: F T M A P G",ITEM,MANUFACTURER,"MODEL/COMMENT","SERIAL #","ORIGINAL YEAR","ACQUISITION YEAR","ACQUISITION COST"
  314. 32000  REM <CTRL-M><CTRL-M><CTRL-M>********.DISPLAY.ARRAY.*********<CTRL-J>
  315. 32010  REM IN:A$(0,C1)
  316. 32020  HOME : PRINT "COLUMNS      DATA"
  317. 32030  PRINT " INDEX I     A$(0,I)": PRINT 
  318. 32040  FOR I = 0 TO C1
  319. 32050 :: PRINT "  "I;: HTAB 14: PRINT A$(0,I)
  320. 32060  NEXT 
  321. 32070  PRINT : PRINT 
  322. 32080  GOSUB 9310: GOTO 1000: REM SCREEN.PAUSE
  323. 33565 :: IF R$ = ""  THEN 1000: REM MENU
  324. 39990  CALL 770: LIST 1140: CALL 960
  325. 39995  END 
  326. 40000  CALL 770: LIST 2000 -2999: LIST 4000 -4999: CALL 960
  327. 40010  END 
  328. 40020  CALL 770: LIST 8000 -8999: CALL 960
  329. 40030  END 
  330. 40040  CALL 770: LIST 9400 -9790: CALL 960